#include "global_include.h"

class QuickTest : public testing::Test
{
protected:
    //  作用夹具之前
    static void SetUpTestCase()
    {
        cout << "======= in QuickTest.SetUpTestCase() =======" << endl;
        // do something
    }

    // 作用于夹具之后
    static void SetUpTearDown()
    {
        cout << "======= in QuickTest.SetUpTearDown() =======" << endl;
        // do something
    }

    // 作用于每个test之前
    virtual void SetUp()
    {
        cout << "in QuickTest.SetUp()" << endl;
        // do something
    }

    // 作用于每个test之后
    virtual void TearDwon()
    {
        cout << "in QuickTest.TearDown()" << endl;
        // Do Something
    }
public:
    template <typename T>
    T add(T a, T b)
    {
        return a + b;
    }

    void SetNum(int nNum)
    {
        testNum = nNum;
    }

    int GetNum(void)
    {
        return testNum;
    }

    int testNum;
};
